1. Field of Art
The present disclosure relates to the field of data processing platforms for financial market data.
2. Description of Related Art
In the financial industry, financial information vendors provide customers with up to date information on financial instruments such as stock, bonds, and options. Financial information vendors compete with each other by striving to provide large volumes of up-to-date, accurate data as quickly as possible. Improvements in information delivery delay on the order of fractions of a second can provide customers with valuable, actionable information.
In order to promptly deliver financial information to customers, a variety of market data platforms have been developed to provide real time delivery of financial information. The information delivered may include, for example, bid, offer, and trade information related to a variety of financial products. Market data platforms receive this data, process it, and output it to customers. Given the size of modern financial markets, market data platforms need to be able to handle large volumes of information without sacrificing speed or accuracy. To this end, existing market data platforms generally consist of one or more networked computers, each having one or more processors to process received data.
In existing market data platforms, each computer in the platform generally receives data from an external source through an interface such as a network interface card (NIC). A software driver controlling the NIC takes the data received by the NIC and hands it off to the operating system kernel. The operating system kernel passes the data to a market platform software application running in a user space. The market platform software stack processes the received data for accuracy and writes it to memory. Once the data has been written to memory, another portion of the market platform software may use it, for example by synthesizing the data and sending it to one or more customers contracted to receive the data.
As information volumes have increased and the tolerance for information delivery latencies have decreased, the processing requirements for market data platforms have increased. In existing systems, these requirements have been met by adding processing power to the market data platforms. This includes both networking additional computers together, as well as adding physical processors (or cores) to the individual machines that makes up the platform. While such a solution has worked well in the past, the cost of this solution is rapidly approaching the point where it is impractical to simply add processors or computers as performance requirements increase.